package roles;

import java.util.ArrayList;
import java.util.Random;

import model.Case;
import model.Fourmiliere;
import etresVivant.Fourmi;

public class Reine extends Role {

	public Reine() {
		minEsperanceVie = 4 * 360;
		maxEsperanceVie = 10 * 360;
		minPoids = 2;
		maxPoids = 4;
	}

	/**
	 * Cree une fourmiliere sur la meme case ou se trouve la reine.
	 * Et installation de la reine dans cette fourmiliere.
	 * @param une fourmi Reine
	 * @param la case de la reine.
	 */
	public Fourmiliere creerFourmiliere(Fourmi reine, Case c) {
		return new Fourmiliere(reine, c);
	}

	/**
	 * la reine pond des oeufs dans la fourmiliere en leur attribuant des roles.
	 * @param la case de la fourmiliere (ou reine).
	 * @return la liste des fourmis pondues a l'etat OEUF. 
	 */
	public ArrayList<Fourmi> pond(Case c) {
		ArrayList<Fourmi> nvOeufs = new ArrayList<Fourmi>();
		Random rd = new Random();
		int pourcentOeufs = rd.nextInt(10) + 1;
		int nbOeufsPondre = /*rd.nextInt(3) +*/ 1;

		for (int i = 0; i < nbOeufsPondre; i++){
			if (1 <= pourcentOeufs && pourcentOeufs <= 7)
					nvOeufs.add(Fourmi.newOuvriere(c));
			else if (8 <= pourcentOeufs && pourcentOeufs <= 9)
				nvOeufs.add(Fourmi.newSoldat(c));
			else
				nvOeufs.add(Fourmi.newSexue(c));

			pourcentOeufs = rd.nextInt(10) + 1;
		}

		return nvOeufs;
	}

	@Override
	public Object actions(Fourmiliere f, Fourmi fr) {
		return null;
	}

	@Override
	public String monRole() {
		return "Reine";
	}

}
